package com.flying.flyingchessgame.entity;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * 用户实体类
 * <p>
 * 该类表示系统中的用户信息，包含用户的基本属性如ID、用户名、密码、邮箱等，
 * 以及游戏相关的统计数据如游戏场次和获胜场次。
 * </p>
 * 
 * @author flying-chess
 * @version 1.0
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class User implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 用户ID，主键
     */
    private Long id;

    /**
     * 用户名，唯一
     */
    private String username;

    /**
     * 密码，加密存储
     */
    private String password;

    /**
     * 用户邮箱，可选
     */
    private String email;
    
    /**
     * 已参与游戏场次
     */
    private Integer gamesPlayed;
    
    /**
     * 获胜游戏场次
     */
    private Integer gamesWon;
} 